﻿using System;
using System.Collections.Generic;
using System.Collections;
using System.Linq;
using System.Text;
using Microsoft.Xna.Framework;

public class ElectricObject:DangerousObject
{
    protected new ElectricObject.Type thisType;

    public ElectricObject(ElectricObject.Type type, Vector3 placement)
        : base(type, placement)
    {
        thisType = type;
    }

    public new class Type : DangerousObject.Type
    {
        public static readonly Type DownPower = new Type(
            ObjectFactory.TypeEnum.DownPower,//type
            new Vector3(115, 0, 0),//origin
            new Vector3(190, 0, 200),//collision
            new ArrayList {
                new Frame(
                    Game.getGame().getAssetLibrary().get(AssetLibrary.assetType.HAZARD).get("powerLinesDownedSpriteSheet"), 
                    new Rectangle(0,0,317,158), 
                    0, 
                    new Vector2(158,141)),
                new Frame(
                    Game.getGame().getAssetLibrary().get(AssetLibrary.assetType.HAZARD).get("powerLinesDownedSpriteSheet"), 
                    new Rectangle(317,0,317,158), 
                    0, 
                    new Vector2(158,140)),
                new Frame(
                    Game.getGame().getAssetLibrary().get(AssetLibrary.assetType.HAZARD).get("powerLinesDownedSpriteSheet"), 
                    new Rectangle(634,0,317,158), 
                    0, 
                    new Vector2(158,140))});//frameList

        protected Type(ObjectFactory.TypeEnum type, Vector3 origin, Vector3 collision,
            ArrayList stasisFrames)
            : base(type, origin, collision, stasisFrames)
        {
        }

        public static new ElectricObject.Type getType(ObjectFactory.TypeEnum te)
        {
            switch (te)
            {
                case ObjectFactory.TypeEnum.DownPower: return DownPower;
            }
            return null;
        }
    }
}
